package com.etoak.service;

import com.etoak.common.core.vo.PageVO;
import com.etoak.entity.Dishes;
import com.baomidou.mybatisplus.extension.service.IService;
import com.etoak.entity.OrderItem;
import com.etoak.entity.vo.DishesVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author et2406
 * @since 2024-11-18
 */
public interface DishesService extends IService<Dishes> {

    /**
     * 菜品添加操作
     *
     * @param dishes 菜品参数
     */
    void addDishes(Dishes dishes);

    /**
     * 查询菜品分页
     *
     * @param pageNum 当前页数
     * @param pageSize 页大小
     * @param dishes  模糊查询参数
     * @return  dishesVO对象集合
     */
    PageVO<DishesVO> getList(int pageNum,int pageSize,Dishes dishes);

    /**
     * 更新菜品
     *
     * @param id     菜品ID
     * @param dishes 菜品参数
     */
    void update(int id, Dishes dishes);

    /**
     * 删除菜品
     *
     * @param id    菜品ID
     */
    void delete(int id);


    boolean ifUsedByDishes(Dishes dishes);

    /**
     * 查看菜单详情 + 数量
     * @param orderItemList
     * @return List<DishesVO>
     */
    List<DishesVO> getDishesByDishesId(List<OrderItem> orderItemList);
}
